import request from './request' // 假设你已经配置了axios实例

/**
 * 通知相关接口服务
 */
export default {
  /**
   * 获取通知列表
   * @param {Object} params - 查询参数
   * @param {Number} params.page - 页码
   * @param {Number} params.size - 每页数量
   * @param {Number} params.type - 通知类型（可选）
   * @returns {Promise}
   */
  getNoticeList(params = {}) {
    return request({
      url: '/api/notice',
      method: 'get',
      params
    })
  },

  /**
   * 获取单个通知详情
   * @param {String|Number} noticeId - 通知ID
   * @returns {Promise}
   */
  getNoticeDetail(noticeId) {
    return request({
      url: `/api/notice/${noticeId}`,
      method: 'get'
    })
  },

  /**
   * 创建通知
   * @param {Object} data - 通知数据
   * @returns {Promise}
   */
  createNotice(data) {
    return request({
      url: '/api/notice',
      method: 'post',
      data
    })
  },

  /**
   * 更新通知
   * @param {String|Number} noticeId - 通知ID
   * @param {Object} data - 更新数据
   * @returns {Promise}
   */
  updateNotice(noticeId, data) {
    return request({
      url: `/api/notice/${noticeId}`,
      method: 'put',
      data
    })
  },

  /**
   * 删除通知
   * @param {String|Number} noticeId - 通知ID
   * @returns {Promise}
   */
  deleteNotice(noticeId) {
    return request({
      url: `/api/notice/${noticeId}`,
      method: 'delete'
    })
  },

  /**
   * 标记通知为已读
   * @param {String|Number} noticeId - 通知ID
   * @returns {Promise}
   */
  markAsRead(noticeId) {
    return request({
      url: `/api/notice/read/${noticeId}`,
      method: 'put'
    })
  },

  /**
   * 获取未读通知数量
   * @returns {Promise}
   */
  getUnreadCount() {
    return request({
      url: '/api/notice/unread/count',
      method: 'get'
    })
  }
}
